home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib05.dsk / LISTING FORMATTER.txt < prev    next >
Text File  |  2023-02-26  |  4KB  |  50 lines

  1. NOMON I,O,C
  2. SPEED=255
  3.  
  4.  62999  END 
  5.  63000  TEXT : CALL  - 936: CLEAR :C$ =  CHR$ (4): PRINT "**** PROGRAM LISTING FORMATTER ****": PRINT "****    BY  TONY S. DAHBURA    ****"
  6.  63010  POKE 34,3: PRINT : PRINT : CALL  - 936: DIM D$(107): GOSUB 63250
  7.  63020  PRINT : INPUT "SLOT OF PRINTER (0 FOR SCREEN) ";B: IF B < 0 OR B > 7 THEN 63020
  8.  63030  PRINT : INPUT "TURN ON PRINTER AND PRESS 'RETURN' ";A$: PRINT C$;"PR#";B: PRINT : PRINT  CHR$ (19)
  9.  63040  PRINT : INPUT "SET TOP OF FORM ETC. AND PRESS 'RETURN' ";A$: PRINT : CALL  - 936
  10.  63050  INPUT "# OF LINES AT TOP OF PAGE ";E: PRINT : INPUT "# OF LINES AT BOTTOM OF PAGE ";F: PRINT : PRINT : INPUT "LEFT MARGIN ";G: PRINT : INPUT "RIGHT MARGIN ";H:I = H - G: IF I <  = 0 THEN 63050
  11.  63060  PRINT : INPUT "# OF LINES PER PAGE ";J: CALL  - 936: PRINT : PRINT "IF YOU PRESS ESC DURING PRINTING": PRINT "YOU MAY HALT LISTING": PRINT : INPUT "PRESS 'RETURN' TO START ";A$:A$ = ""
  12.  63070  POKE  - 16368,0:K = 0: PRINT  CHR$ (17): FOR P = 1 TO E: PRINT : NEXT 
  13.  63080 L =  PEEK (104) * 256 +  PEEK (103):M =  PEEK (176) * 256 +  PEEK (175):N = 256 *  PEEK (L + 1) +  PEEK (L)
  14.  63090 A =  PEEK (L + 3) * 256 +  PEEK (L + 2):A$ =  STR$ (A):A$ = A$ + " ": IF A < 10 THEN A$ = A$ + " "
  15.  63100  IF A =  > 62999 THEN C = 32:L = M: GOTO 63140
  16.  63110 L = L + 4
  17.  63120 C =  PEEK (L): IF  PEEK ( - 16384) > 127 THEN  GOTO 63420
  18.  63130  IF C > 127 AND C < 235 THEN  GOSUB 63220: GOTO 63150
  19.  63140 A$ = A$ +  CHR$ (C): IF L =  > M THEN  PRINT : PRINT : PRINT  CHR$ (12): PRINT : PRINT : PRINT C$;"PR#0": PRINT : PRINT : PRINT "LISTING IS COMPLETE": PRINT : PRINT "DONE": TEXT : END 
  20.  63150  IF L + 1 = N THEN 63180
  21.  63160  IF L > N THEN  PRINT "ERROR": PRINT A$: STOP 
  22.  63170 L = L + 1: GOTO 63120
  23.  63180 N = 256 *  PEEK (N + 1) +  PEEK (N):L = L + 1: GOTO 63340
  24.  63190 L = L + 2:A$ = "":A =  PEEK (L) +  PEEK (L + 1) * 256:A$ =  STR$ (A):A$ = A$ + " ": IF A < 10 THEN A$ = A$ + " "
  25.  63200  IF A =  > 62999 THEN C = 32:L = M: GOTO 63140
  26.  63210 L = L + 2: GOTO 63120
  27.  63220 A$ = A$ + D$(C - 127): IF D$(C - 127) = "HIMEM" THEN A$ = A$ + ":"
  28.  63230  IF D$(C - 127) = "LOMEM" THEN A$ = A$ + ":"
  29.  63240  RETURN 
  30.  63250  RESTORE 
  31.  63260  READ D$(1): IF  PEEK (123) +  PEEK (124) * 256 = 63290 THEN 63280
  32.  63270  GOTO 63260
  33.  63280  FOR O = 2 TO 107: READ D$(O): NEXT : RETURN 
  34.  63290  DATA END,FOR,NEXT,DATA,INPUT,DEL,DIM,READ,GR,TEXT,PR#,IN#,CALL,PLOT,HLIN,VLIN,HGR2,HGR,HCOLOR=,HPLOT,DRAW,XDRAW
  35.  63300  DATA HTAB,HOME,ROT=,SCALE=,SHLOAD,TRACE,NOTRACE,NORMAL,INVERSE,FLASH,COLOR=,POP,VTAB,HIMEM,LOMEM,ONERR
  36.  63310  DATA RESUME,RECALL,STORE,SPEED=,LET,GOTO,RUN,IF,RESTORE,&,GOSUB,RETURN,REM,STOP,ON,WAIT
  37.  63320  DATA LOAD,SAVE,DEF,POKE,PRINT,CONT,LIST,CLEAR,GET,NEW,TAB(,TO,FN,SPC(,THEN,AT,NOT,STEP,+,-,*,/,^,AND,OR,>,=,<,SGN,INT,ABS,USR,FRE,SCRN(,PDL,POS,SQR,RND
  38.  63330  DATA LOG,EXP,COS,SIN,TAN,ATN,PEEK,LEN,STR$,VAL,ASC,CHR$,LEFT$,RIGHT$,MID$
  39.  63340  IF  LEN (A$) > I THEN 63390
  40.  63350  PRINT  TAB( G);A$:K = K + 1
  41.  63360  IF K =  > J THEN  GOSUB 63380: GOTO 63190
  42.  63370  GOTO 63190
  43.  63380  FOR P = 1 TO F: PRINT : NEXT : FOR P = 1 TO E: PRINT : NEXT :K = 0: RETURN 
  44.  63390 B$ = A$:D = 1:A$ =  LEFT$ (A$,I): PRINT  TAB( G);A$:K = K + 1: IF K =  > J THEN  GOSUB 63380
  45.  63400 A$ =  RIGHT$ (B$, LEN (B$) - I * D): IF  LEN (A$) > I THEN A$ =  MID$ (B$,I * D,I): PRINT  TAB( G);A$:D = D + 1: GOTO 63400
  46.  63410  PRINT  TAB( G);A$:K = K + D: GOTO 63360
  47.  63420  IF  PEEK ( - 16384) = 155 THEN  PRINT : PRINT : PRINT  CHR$ (12): PRINT : PRINT : PRINT C$;"PR#0": PRINT : PRINT : PRINT "LISTING TERMINATED": TEXT : END 
  48.  63430  POKE  - 16368,0: GOTO 63130
  49.  
  50.